﻿Imports System.Data.OleDb
Imports System.Net.Mail
Public Class MeerdereAandeelhoudersUsingMasterPage
    Inherits System.Web.UI.Page
    'Declaratie
    Dim strgekozenVergadering As String
    Dim strcode() As String

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If IsPostBack = False Then
            'Declaratie
            Dim cnndb3 As New OleDbConnection
            Dim cmdCommando As New OleDbCommand
            Dim dtrDataReader As OleDbDataReader
            Dim strsqlEmailadress As String
            Dim strsqlVergaderingen As String
            Dim strInListbox As String
            'SQL klaar zetten
            strsqlEmailadress = "SELECT [E-mail],[Id],[VoorNaam],[Naam] FROM [tblAandeelhouders]"
            'Connectie voorbereiden
            cnndb3.ConnectionString = My.Settings.csAandeelhouders
            cmdCommando.Connection = cnndb3
            cmdCommando.CommandText = strsqlEmailadress

            'Openen van database
            cnndb3.Open()
            'Gegevens uit de database halen
            dtrDataReader = cmdCommando.ExecuteReader
            Do While dtrDataReader.Read()
                'In mooie volgorde zetten zodat het met een goede layout in de checkboxlist kan
                strInListbox = dtrDataReader.Item("Id") & " | "
                strInListbox &= dtrDataReader.Item("Voornaam") & " "
                strInListbox &= dtrDataReader.Item("Naam") & " | "
                strInListbox &= dtrDataReader.Item("E-mail")

                'In de checkboxlist steken de naam en de waarde
                cblEmail.Items.Add(New ListItem(strInListbox, dtrDataReader.Item("E-mail")))
            Loop
            'Connectie sluiten met de database
            cnndb3.Close()

            'SQl klaarzetten voor gegevens uit de database te halen
            strsqlVergaderingen = "SELECT [ID], [Titel] FROM [tblVergaderingen]"
            'Verbindingen met database klaarzetten
            cmdCommando.CommandText = strsqlVergaderingen
            'Verbinding maken met database
            cnndb3.Open()
            'Gegevens ophalen
            dtrDataReader = cmdCommando.ExecuteReader
            Do While dtrDataReader.Read()
                dpdVergadering.Items.Add(dtrDataReader.Item("Titel"))
            Loop
            'Verbinding sluiten
            cnndb3.Close()
        End If

    End Sub

    

   
    


    'Public Function myReplace() As Boolean
    '    Static strDatum1 As String = "[$date1$]"
    '    Static strDatum2 As String = "[$date2$]"
    '    Static strPlaats As String = "[$plaats$]"
    '    Dim strDatum1Db As String
    '    Dim strDatum2Db As String
    '    Dim strPlaatsDb As String
    '    Dim cnndb3 As New OleDbConnection
    '    Dim cmdCommando As New OleDbCommand
    '    Dim dtrDataReader2 As OleDbDataReader
    '    Dim strsqlEmailadress As String


    '    strsqlEmailadress = "SELECT [Start], [Eind], [Plaats] FROM [tblVergaderingen] WHERE [ID] ='" & strgekozenVergadering & "'"
    '    cnndb3.ConnectionString = My.Settings.csAandeelhouders
    '    cmdCommando.Connection = cnndb3
    '    cmdCommando.CommandText = strsqlEmailadress


    'cnndb3.Open()
    'dtrDataReader2 = cmdCommando.ExecuteReader
    'Do While dtrDataReader2.Read()
    '    strDatum1Db = dtrDataReader2.Item("Start")
    '    strDatum2Db = dtrDataReader2.Item("Eind")
    '    strPlaatsDb = dtrDataReader2.Item("Plaats")

    'Loop
    'cnndb3.Close()
    'If IsNothing(dtrDataReader2) Then
    '    dtrDataReader2.Close()
    'End If
    'mailContent.InnerHtml = mailContent.InnerHtml.Replace(strDatum1, strDatum1Db)
    'mailContent.InnerHtml = mailContent.InnerHtml.Replace(strDatum2, strDatum2Db)
    'mailContent.InnerHtml = mailContent.InnerHtml.Replace(strPlaats, strPlaatsDb)
    'mailContent.InnerHtml = mailContent.InnerHtml.Replace(".uniqu.", "<a href=AanofAfwezig.aspx?id=" & strcode(0) & ">Klik hier voor aanwezig of afwezig</a>")


    'strDatum1 = strDatum1Db
    'strDatum2 = strDatum2Db
    'strPlaats = strPlaatsDb


    'btnVersturen.Enabled = True
    'Return True

    ' End Function

    Protected Sub btnMenu_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnMenu.Click
        Server.Transfer("default.aspx")
    End Sub

    Protected Sub btnVoorbeeld_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnVoorbeeld.Click
        strgekozenVergadering = dpdVergadering.Text

        'myReplace()
    End Sub

    Protected Sub btnVersturen_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnVersturen.Click
        ' myReplace()
        'Declaratie
        Dim objMail As New MailMessage()
        Dim objMijnAdres As New MailAddress("Proventi@hotmail.be", "Proventi")
        Dim objSmtp As New SmtpClient(My.Settings.SMTPServer)
        Dim strAan As String
        Dim intAantalAandeelhouders As Integer
        Dim strEmailadress() As String
        Dim strHyperlinkOude, strHyperlinkNieuwe As String
        Dim intArrayItems As Integer = -1
        'Zien hoeveel checkboxen er zijn in de checkboxlist
        intAantalAandeelhouders = cblEmail.Items.Count

        'De waarde van de geselecteerde checkboxen in een variable steken
        For intTeller As Integer = 0 To intAantalAandeelhouders - 1
            If cblEmail.Items(intTeller).Selected Then
                intArrayItems += 1
                ReDim Preserve strEmailadress(intArrayItems)
                strEmailadress(intArrayItems) = cblEmail.Items(intTeller).Value

            End If
        Next
        'Stuurt de mails één per één door
        For intTeller As Integer = 0 To intAantalAandeelhouders - 1
            strAan = strEmailadress(intTeller)
            'stel de verzender en ontvanger in 
            objMail.From = objMijnAdres
            objMail.To.Add(strAan)
            'stel het subject en de tekst in 
            objMail.Subject = txtOnderwerp.Text
            If intTeller = 0 Then
                'nothing
            Else
                strHyperlinkOude = "<a href=AanofAfwezig.aspx?id=" & strcode(intTeller) & ">Klik hier voor aanwezig of afwezig</a>"
                strHyperlinkNieuwe = "<a href=AanofAfwezig.aspx?id=" & strcode(intTeller + 1) & ">Klik hier voor aanwezig of afwezig</a>"
            End If
            mailContent.InnerHtml = mailContent.InnerHtml.Replace(strHyperlinkOude, strHyperlinkNieuwe)
            objMail.Body = mailContent.InnerText
            objMail.IsBodyHtml = True
            'verzend het bericht 
            'objSmtp.Send(objMail)

        Next
        lblMailVerstuurd.Text = "De mailtjes zijn verstuurd"

    End Sub

    Protected Sub btnSelecteerAlles_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnSelecteerAlles.Click
        For intTeller As Integer = 0 To cblEmail.Items.Count - 1
            cblEmail.Items(intTeller).Selected = True
        Next
    End Sub

    Protected Sub btnDeselecteerall_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnDeselecteerall.Click
        For intTeller As Integer = 0 To cblEmail.Items.Count - 1
            cblEmail.Items(intTeller).Selected = False
        Next
    End Sub
End Class